var app = getApp();
var utils = require('../../utils/shop/formatShop.js');

Page({

  /**
   * 页面的初始数据
   */
  data: {

    //查询的标签
    tag: '产品列表',

    //产品列表
    productsList: [],

    //查询产品post数据
    getProArgs: {
      UsersID: '',
      act: 'get_pro',
      pageSize: 10,
      page: 1,
      Products_Name: '', //待搜索的内容
    },
    
    //请求状态
    get_flag: true,

    //加载更多动画
    loading: true
  },

  //跳转详情页
  detail: function (e) {
    var proid = e.currentTarget.dataset.proid;
    var ptflag = e.currentTarget.dataset.ptflag;
    wx.navigateTo({
      url: ptflag ? '../detail_pt/detail_pt?proid=' + proid : '../detail/detail?proid=' + proid
    });
  },

  //点击搜索时候,搜索相关产品、虚拟键盘完成
  search_pro: function (e) {
    if(!app.globalData.userInfo) {
      wx.navigateTo({
        url: '/pages/userlogin/userlogin',
      });
      return;
    }
    var keyword = (typeof e.detail.value == 'object') ? e.detail.value.keyword : e.detail.value;
    //重置产品信息并设置搜索参数
    this.setData({
      productsList: [],
      'getProArgs.Products_Name': keyword,
      'getProArgs.page': 1,
      get_flag: true
    });
    //查询产品
    this.searchGoods();
  },

  searchGoods: function () {
    this.setData({
      loading: true
    });
    app.http_req(this.data.getProArgs, app.globalData.init.api_url, 'POST', (res) => {
      if (res.errorCode === 0) {
        //格式化成为前端方便展示的产品格式
        var old_productsList = this.data.productsList;
        var productsList = utils.formatShop(app.globalData.init.front_url, res.data);
        this.setData({
          productsList: old_productsList.concat(productsList),
          'getProArgs.page': this.data.getProArgs.page + 1,
          get_flag: (res.totalCount / this.data.getProArgs.pageSize) > this.data.getProArgs.page ? true : false
        });
      } else if (res.errorCode == 2) {  //无产品
        this.setData({
          get_flag: false
        });
      } else {
        wx.showModal({
          title: '提示',
          content: typeof res.msg != 'undefined' ? res.msg : '查询失败',
          showCancel: false
        })
      }

      this.setData({
        loading: false
      });

      // 结束下拉刷新
      utils.overPullDownRefresh();
    });
  },

  //产品图片请求错误是显示默认图片
  show_default_proImg: function (e) {
    var proid = e.currentTarget.dataset.proid;
    this.setData({
      productsList: utils.show_default_proImg(this.data.productsList, proid)
    });
  },

  //加载页面
  load: function () {
    wx.hideLoading();
    //查询产品
    this.searchGoods();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.showLoading({
      title: '加载中...',
    });
    var postData = this.data.getProArgs;
    postData.UsersID = app.globalData.shopConfig.Users_ID;
    var tag = this.data.tag;
    //搜索内容
    if (options.keyword) {
      postData.Products_Name = options.keyword;
    }
    //产品上下架状态  0：上架产品  1：下架产品
    if (options.soldOut && options.soldOut == 1) {  //下架产品
      postData.Products_SoldOut = 1;
      tag += ' - 下架产品';
    } else {
      postData.Products_SoldOut = 0;
    }
    //分类
    if (options.cateId) {
      postData.Cate_ID = options.cateId;
      tag += ' - ' + options.cateName;
    }
    
    this.setData({
      tag: tag,
      getProArgs: postData
    });

    this.load();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.get_flag && !this.data.loading) {
      this.searchGoods();
    }
  }
})